package com.iplant.ams.service.basicenum.dms;


import com.iplant.base.po.enums.BaseEnum;

/**
 * 故障类别
 *
 * @author YouWang·Peng
 * 2023-8-31 14:53:16
 */
public enum DMSFaultType implements BaseEnum {
    /**
     * 默认
     */
    Default(0, "默认"),

    /**
     * 硬件故障（指硬件设备本身出现问题，例如电源故障、硬盘故障、主板故障等）
     */
    HARDWARE_FAILURE(1, "硬件故障"),
    /**
     * 软件故障（指软件程序或操作系统出现错误或异常情况，例如系统崩溃、程序运行错误等）
     */
    SOFTWARE_FAILURE(2, "软件故障"),
    /**
     * 网络故障（指网络连接中断、网络速度慢、路由器故障等与网络相关的问题）
     */
    NETWORK_FAILURE(3, "网络故障"),
    /**
     * 通信故障（指设备之间的通信连接出现问题，例如通信接口故障、数据传输错误等）
     */
    COMMUNICATION_FAILURE(4, "通信故障"),
    /**
     * 运维故障（指设备的管理和维护操作出现问题，例如配置错误、误操作导致设备故障等）
     */
    OPERATION_MAINTENANCE_FAILURE(5, "运维故障"),
    /**
     * 安全故障（指设备出现安全问题，例如病毒感染、黑客攻击等威胁到设备正常运行和数据安全的情况）
     */
    SAFETY_FAULT(6, "安全故障"),
    /**
     * 配置故障（指设备的配置参数设置错误，例如IP地址冲突、权限设置错误等）
     */
    ALLOCATION_FAILURES(7, "配置故障"),
    /**
     * 配件故障（指设备附属的配件出现故障，例如打印机的墨盒、鼠标的按键等）
     */
    ACCESSORY_FAILURE(8, "配件故障");

    private int value;
    private String label;
    private String remark = "";

    DMSFaultType(int value, String label) {
        this.value = value;
        this.label = label;
    }

    public static DMSFaultType getEnumType(int val) {
        for (DMSFaultType type : DMSFaultType.values()) {
            if (type.getValue() == val) {
                return type;
            }
        }
        return Default;
    }

    @Override
    public int getValue() {
        return value;
    }

    @Override
    public void setValue(int value) {
        this.value = value;
    }

    @Override
    public String getLabel() {
        return label;
    }

    @Override
    public void setLabel(String label) {
        this.label = label;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }
}
